package model;
import java.util.ArrayList;
import java.util.Date;

import view.CotizacionDTO;
import view.ServicioDTO;
import model.Servicio;
import model.Usuario;


public class Cotizacion {
	private Integer id;
	private String pasajero;
	private String email;
	private String documento;
	private Date fecha;
	private ArrayList<Servicio> sevicios;
	private Usuario usuario;

	public Cotizacion()
	{
		this.id=0;
		this.sevicios= new ArrayList<Servicio>();
	}
	
	public Cotizacion(Integer id, String pasajero, String email, 
			String documento, Date fecha, ArrayList<Servicio> sevicios, 
			Usuario usuario) {
		this.id = id;
		this.pasajero = pasajero;
		this.email = email;
		this.documento = documento;
		this.fecha = fecha;
		this.sevicios = sevicios;
		this.usuario = usuario;
	}

	public Cotizacion(CotizacionDTO cot) {
		this.id = cot.getId();
		this.pasajero = cot.getPasajero();
		this.email = cot.getEmail();
		this.documento = cot.getDocumento();
		this.fecha = cot.getFecha();
		this.sevicios = new ArrayList<Servicio>();
		for(ServicioDTO s : cot.getSevicios())
		{
			this.sevicios.add(new Servicio(s));
		}		
		this.usuario = new Usuario(cot.getUsuario());
	}
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getPasajero() {
		return pasajero;
	}

	public void setPasajero(String pasajero) {
		this.pasajero = pasajero;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getDocumento() {
		return documento;
	}

	public void setDocumento(String documento) {
		this.documento = documento;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public ArrayList<Servicio> getSevicios() {
		return sevicios;
	}

	public void setSevicios(ArrayList<Servicio> sevicios) {
		this.sevicios = sevicios;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	
	public CotizacionDTO toDTO() {
		ArrayList<ServicioDTO> serv = new ArrayList<ServicioDTO>();
		for(Servicio s : this.sevicios)
		{
			serv.add(s.toDTO());
		}
		return new CotizacionDTO(this.getId(), this.getPasajero(), this.getEmail(), this.getDocumento(), this.getFecha(), serv, this.getUsuario().toDTO());
	}

}
